{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "倒频谱分析是一种非线性信号处理方法，在语音和图像处理等领域有多种应用。\n",
    "\n",
    "序列 x 的复倒频谱是通过求 x 的傅里叶变换的复自然对数，然后对得到的序列进行傅里叶逆变换来计算的"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\n",
    "\\widehat{x} = \\frac{1}{2\\pi}\\int_{-\\pi}^{\\pi}log[X(e^{j\\omega})]e^{j\\omega n}d\\omega\n",
    "$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "t = np.array(np.arange(0,1.28,0.01),dtype = complex)\n",
    "s1 = np.sin(2*np.math.pi*45*t)\n",
    "s1.shape\n",
    "s2 = s1+0.5*np.r_[np.zeros(20),s1[0:108]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "首先，创建以 100 Hz 采样的 45 Hz 正弦波。在信号开始 0.2 秒后，添加一个幅值减半的回声。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\pytorch\\lib\\site-packages\\numpy\\core\\_asarray.py:83: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  return array(a, dtype, copy=False, order=order)\n",
      "D:\\anaconda\\envs\\pytorch\\lib\\site-packages\\numpy\\core\\_asarray.py:83: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  return array(a, dtype, copy=False, order=order)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x17a010cb198>]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(1,2,1)\n",
    "plt.plot(t,s1)\n",
    "plt.subplot(1,2,2)\n",
    "plt.plot(t,s2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "计算并绘制新信号的复倒频谱。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "spectrum = np.fft.fft(s2)\n",
    "ceps = np.fft.ifft(np.log(spectrum))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda\\envs\\pytorch\\lib\\site-packages\\numpy\\core\\_asarray.py:83: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  return array(a, dtype, copy=False, order=order)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x17a0120d240>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABEmUlEQVR4nO29d3hcZ5n3/7nPmaLerGLZklviEtuJncQJqYRUkhAIbSEsJcsLm4UXWFjYdxMWLnZZll32t/ROqKElQBIgjZI4jZBqJ3GvcVxky5YsW12a0cw8vz9OmTOjkdVjaXR/rkuX5pw5mvNozjnf5z7f+36eI8YYFEVRlPzHOtkNUBRFUV4ZVPAVRVFmCCr4iqIoMwQVfEVRlBmCCr6iKMoMIXSyG3AiqqurzYIFC052MxRFUaYN69evP2qMqcn13pQW/AULFrBu3bqT3QxFUZRpg4jsG+o9tXQURVFmCCr4iqIoMwQVfEVRlBmCCr6iKMoMQQVfURRlhqCCryiKMkNQwVcURZkhTIjgi8jVIrJDRHaLyC0n2O4cEUmKyFsnYr9D8fW1u3hsZ+tk7kJRFGXaMW7BFxEb+BZwDbAceIeILB9iu/8B/jTefQ7Hdx59iSd2qeAriqIEmYgI/1xgtzFmjzEmDtwBXJ9ju48AdwEtE7DPE2JbQjI12XtRFEWZXkyE4M8FDgSWm9x1PiIyF3gT8N3hPkxEbhKRdSKyrrV1bFG6JZDSJ3kpiqJkMBGCLznWZavtV4GbjTHJ4T7MGHOrMWaNMWZNTU3O+X+GxYnwVfAVRVGCTMTkaU1AY2C5ATiUtc0a4A4RAagGrhWRhDHmdxOw/0HYlkVSI3xFUZQMJkLwnwMWi8hC4CBwA/C3wQ2MMQu91yLyE+C+yRJ7ANuCZFIFX1EUJci4Bd8YkxCRD+NU39jAj4wxW0TkA+77w/r2E40tohG+oihKFhMyH74x5gHggax1OYXeGPN3E7HPE2FZQko9fEVRlAzycqStbWmEryiKkk1+Cr5olY6iKEo2eSn4liVah68oipJFXgq+RviKoiiDyUvBt3RqBUVRphn/fs8Wntt7bFL3MSFVOlONkFo6iqJMI1Ipw0+e3EtRxOacBVWTtp+8jfATE2zpNB3v5T/u3apWkaIoE07ctSQmWreyyUvBt4Vx1eF39g9ww61Psb+t11/32M5WfvTXlznU3jcRTVQURfHxBD+emFwvOj8FP2vyNGMMP396H73xxIj+fu/RHp7ec4yNB9v9dQPugYhrckBRlAnGE/pESgV/1FhZUyu81NrNp3+3mYe2jWwqfu/LHwiI+yvVAyuKMvPwNSehls6osbOmVoi7X2JPbGQRvvflB8V9wJ2MbUAjfEVRJhhf8DXCHz3ZUyt49s5IBT/mRfPJYKehEb6iKJOD5yAMTPIsv3kp+JZkRvie+PfFh33+CpBb3NXSURRlsvA9/El2EPJS8IeM8Ecp+EH7RpO2iqJMFhrhjwNLMkfaeoLfN8IqnXQCJejha4SvKMrkkCvInAzyUvBDWUnbUUf4ycHRfK513bEEzR1al68oyvjQssxxYFuS8cV5gj/SOvx4DvvGq/QJRvhfX7uLv/3+M+Nur6IoMxstyxwHzvTI6WXPz++dgKRt8JbraHeMo12x8TZXUZQZjq8vGuGPHlvIGGnr2Tu9sdFZOjmTtsFOIJGiPzGyz1QURRmKgRyaMxnkpeBbWVMreBMS9Q6MsA4/58CrVMZ73uuBpNEJ1RRFGRcxvyxTLZ1RY0vm9MjJ0Ub4fsY8MPAqR9mUt13/gEb5iqKMnFvu2sh/PbDNX86VN5wMJkTwReRqEdkhIrtF5JYc779TRDa6P0+KyKqJ2O9QZE+elq7SGU/SdnDUH3PtHBV8RVFGw4amDjYf7PCX49MlwhcRG/gWcA2wHHiHiCzP2uxl4BJjzBnA54Bbx7vfE5H9TNvhkraJZApjgtG8s13OkbbJ9Gf4Eb7W5iuKMgr6B5IZ9nCuvOFkMBER/rnAbmPMHmNMHLgDuD64gTHmSWPMcXfxaaBhAvY7JNnPtPWTtvFkhrB7XPqlR/nZ0/v85ZwjbXMMvPIOWEwjfEVRRkFfPJnhDAzksJEng4kQ/LnAgcByk7tuKN4H/GGoN0XkJhFZJyLrWltbx9SgbEvHS9omU2aQRxZPpDhwrI99gYed5JwtM+HNlpnLw9cIX1GUkdM3jSN8ybEuZzclIpfiCP7NQ32YMeZWY8waY8yampqaMTXIzqrDD466zU7cejNoBnvbXF9+fIgqHUBLMxVFGRWO4A+2h6fD5GlNQGNguQE4lL2RiJwB/AC43hjTNgH7HZLskbbB50RmJ267XcGPZdXXw/DTI2uVjqIooyWVMs4YnoHBwePANHim7XPAYhFZKCIR4AbgnuAGIjIPuBt4tzFm5wTs84Q40yOnl4MzZ2ZPkex1AEHRPlEdfjDq93romFo6iqKMkH5fN07sKkwG4xZ8Y0wC+DDwJ2Ab8GtjzBYR+YCIfMDd7DPALODbIvKiiKwb735PhG1linwqI8LPFPzu/qEj/OEecagRvqIow7HlUAd3rW/yl72gM5fmGMOkDuQMTcSHGGMeAB7IWvfdwOv3A++fiH2NhOwqnaClkz2BWvcJPPzMpO3g2nz18BVFGY5fPLOfezcc4i1nO8WJfQNpwTfGICKDKgJty56UtuTlSFvLcvLIXmR/4qTt0L3tiSL8ZMr4HUnQ0nnqpTY2NaUHVCiKMrPp7k9klITn8u5z2ceTQV4Kvi2O4Hu2zomStl6VToaflnUQjDF+OWau6D94d/C5+7bypQd3jKv99208REtn/7g+Q1GUqUFPLJFREj58vnDyLJ28FHwvwvdsndQJkrY5q3SyHnaSq/Y+Q/ADr7tjCTr6Bsbc9t54gg//8gV++ez+MX+GoihTBy/I9LSnL0Pw3VH9gah+Mksz81Lwbc/SMekBVx6Dkra5PPwsSyfXnDqxwBQLwb/tjSfp6h/ZnD258DqLo906z76iTDd6Ygl+/+LBrHWOPnhTuwSDTs8OzhVwTgZ5KfihrAg/aOlkP9c2PfBq6InSBnIcjKBvH/zbvniCznFE+J19TnvauuNj/gxFUU4OD2xq5qN3vMj+wMh9T2N6c5aAO68HMiL8KV6lM9WwxEva4v42WOJE/kNF+LlGvaXM4OkYckX93gE0xtA7kMwoCR0tnf1OZ9HWo4KvKNON9l7n+g3aut2+4A+2dLxgUZO248CzdLzRtomUIWRZFEVC9MaGj/BjWRaOdzBEApZORqY96X+GMc7v2BhLNb27gza1dBRl2uEFbF2xtOD3ZAn+UElbV7Y0aTta/KStSSdtLQuKIvagKZK7/bJMp2zKGGfYc3HEqYONJ1N+j1sSCeWcK9/rLII1/mP18TXCV5TpwUAyxefv35oRnHkBm3f9p1LOXT+k9SHTw08nbYujIf9zJ4u8FHw7y9JJ+hF+LsF3DlDKOD2r17uWFDhffjyR8sW9KGoHPPzBPlzws8cq+B3uLWF778CkD7NWFGXsbG/u4vt/eZlHdqRn9e10r3tvBH/fQBLP4U1bOrnr8IsjjuYkJvFB5vkp+O5/lQxU6VgCxdHQoJG2PbFM4fYEPdjbelMjl0SHi/DTnzXWxG1noKM4rlG+okxZjvU612fQr/eue8+37wlYyLktnXTStihqu6/V0hkV6aRtWvBtSygM24OStsED0j+Q9utLA4LvPeWqJBoi7j4dy/PwoyHLP4DBzsSzZkZLsKOYSFuntSvGvRsGTWKqKMoI2XWkK+O69gKyDMH3PPz+TOGHtJXTnyNpGwtE+GrpjBI7qywzaQy2ZeWM8LtjCb+MM5ZI+oLvRfhO0tb464xxksBehF9WGPYPYF9GhD8+Dx8mtjTzV8/t5yO3v+BbRuD8v9nfh6IogzHG8ObvPMl3H33JX3fci/B709epZ+V2ZSVqITAAK9fAq0SKYjfCn8yyzPwWfM/SSRpsCwpzePg9sQRVxREgM8L3BT+QtA3aPN6BKi8M+7108O5h7BF+gojrSbX1jK1SxxjDC/uPZzzOsaXL+azW7vSUDf9x71Zu/NGzY9qHoswkOvoG6OpPcKi9z1/nRfjtuSwdz8vPEeH3xZNEQs417k2gFk+mI3wdeDVKBlk6xknaFkfsjMnTUilDTzzpC77j4Tvvl2ZE+G6VTo51ZQUhf7bMzCqdkQn+5oMd7D3a4y939g8wf1YRAEfHGOE/t/c4b/r2k6zfd9xf1+oJflf6M3cd6Wb74a4x7UNR8pmWzv6M+ay8gClosx7PUXPfmSX0OT38RIqKwjDglHcnUgZjoMjVF43wR0koO8JPeWWZmZaOd4tVXRIFvPr57GjeBCJ8t1Qzkd6urDDs+/ljsXT+8fYX+PwD29J/1z9AQ2UhIUvGXIu/p7UbgAPH06P9vKkaWgOf2dLVT1d/IiMKURQFPv7rDXziNxv8ZS9gCgZhXtLWG2yVSKb8a6krR4QfnFqhosgR/P6BgI0c8ZK2GuGPiuzJ05Ipgy3il2V6VodXoTOrJBDhe9F8QTBpO9jmSUf44UFlmbYlGZZOa1cs54RI/QNJ9rb1cCQQSXT0DVBRFKGqODJmD/+ge9t5pDMt7v4J2zV43eGO9P77B5JaDqrMeHa3dPNy4M67pcu5RoJBWHbSNijunqXjaUw0ZGVMrVASDWFbQiyRtoyLNGk7NvzpkTOStkJxNJSRcPUO0KxiJ8KPDZzYvimJpNd5EX7Qw/cOaG1p1PfyBpIpLvvSo3zv8T2D2vny0R5SJi284NwZlBWEmFUSHXOVTlrw00KejlCc3z2xhJ9zCG73N999iv8K3HEoSr7z+M5W/v2eLf5yLJHkSFc/Rzr7fVu4xQ2ejvXE/XXZlk7wrr4ra/6cmtJoxtQKhRGbaMjKDDK1LHNsDKrSSTqCX+TeMnnWi+evZUT4ySzBT6YGD8ZKpgW/pCAUKMtMErKEquKI7+W1dsXo6k/wyPaWQe18ybVejnbHMMaQShm6+gcoKwxTXRIZcdLWZM3dc/C4I/jeSdobT4u7b+0EOplmN8JPJFNsbe7kub3HRrTfV5LNBzv4fo5OU5nerNt7LKNMccfhLi7530cygpCnXmrjX3+7KeM8T6bMhE0jfOf6Jn7y5F5fDw6192PcgZhe0OV5+ImU8e/e/aRtr9MJeOtLo6FBZZnVJdGMpG1h2HZLutNa4nv4OvBqdFjZ0yO7ZZme4Hvil47wT1Clk0gRdy2b4LpYwsm0F4ZtEu7J1xt3eu7ywrB/wL0T98UD7RkJHHBuG8E5sTr6BuiJJ0gZxyaaNUJLpzuW4JzPP8TvXkhPyepF+N5t6NFAotZP3gZuTQ93ONs3d/STTBl2Hume1Dm5h2MgmeKRHS0ZF/hPntzL5x/YllFW+sU/7eA/79t6MpqoTAAHjvXy1u8+xR2BZz/8ZVcr+9p6efbldNBx9/NN/PKZ/RkW5T//ZgN//9PMR2M/vafNP/c9Nh/syDiXn9nTxorP/JHmjvR2O484hQuehXPgWDr35W3XEgiQjnbHMcZwrDdO2BZSBroDs+TOqSjMSNoWhC1KC9L5w/5EkmjYpiBs5xzsGZxIbaLJS8FPWzq4v52yTM8j86ZI9gXfTdrmvr0KRPjBwViJFNGQRUHY+Qr7Eyl64wmKIjZlBWH/9s47SRMpw7NZkbMn+OAIsXdXUFYYoqo4OqKk7ZO7j3K0O84zL7f5/6vnyXv79koxw7b4SaeWwMVz2O2U9rsnejyRYm9getdXmt++cJD3/vg5XjjQ7q/bcqgTgK3Nnf66u59v4lfrDmQ8wnKm0dE7kPm8h1iC/35g27gewjNZ3PijZ/neY+k69hfd47vxYPqRoNuaHfHdEage8yrJtjant/vr7qM8+VJbevbaRIq/+/Gz/O8ft/vb7G7p5rpvPMFdz6cfIP7ozlZ64km/gi2RTLGn1RH6vW3O76bj6c7Au/tt7erHlRWO9cTpc5Ot86qcirqO3gE/wp9TUUB3fwJjDN0xx68vDKdLwvsDEX4sYBl7SdvEJJ7PeSn4lje1Qo6kLaQTKV7EnVGH71s6ThY9OJeO1wPHXA/fEXzb/dskvfEkRZEQZYUh/+B7UbaIc2saZHdLt9+JtHbF/AihvDDMrJIIPfEk/QNJjvfE+fAvnx8UvQA8ttOZx2PXkW5/f4mUoTQa4khnP8YYvxTz1NrSgKXjtKuuLOp3EPsDkc32w2lhbXMtp5Hy191HBz1ZbDQ8sesoAM+7F2UskWTXEe+i7/TbdKjDqTLaFeg471rflNH24Xhy99EM+6Cls58rvvyYL0YTxUCggmOi6Ogd4KL/eZgf//Vlf90fNh/me4/v4b6N6VHVD2xq5sIvPDziUuGJoH8gmXFH23S8l8d2tnJvoF2bXKHfeih9vLxj54l8IpnyI3CvM2jp7KelK0YskfI7hm3NnfQPpHhub7oU2QuCntmTDrRe3N8OpAOIfcd6/ev7ZVf4g9Vt3rXR0hVj4axiwDn3jrl2zsJqZ11H34Af5M2pKCSRMsQSKXpiCYqjIXfQZ8DDD9tEQzaxgRxJ26ke4YvI1SKyQ0R2i8gtOd4XEfm6+/5GETlrIvY7FP7kaYHZMh0P3/lCe7M8/OqAh58uy0xH+Nk9sJfIjYacXhqcE7wvnqQoYlNaEPbF+0hnP7YlnLOgir/uPuq3MZkyvHy0h3MWVAKOxeL9TVlB2G9TW0+cP289zH0bm/n8/Zn2hTEmLfgt3RhjfP9+9bwKYokUnX0J3745rb7Uzxe0dMUIWcKy2WV+FHPgWC8hS7AtYbt7cbV2xbjgCw/zlQd35vyuH9/ZmjGOYMOBdt75g2f4TiCS6+gd4FuP7M4peAPJFD99aq9/ARljeNLtGDe4D4PfdaTbj3o8cdgUiArX7XMu6GM9cf75zg3cctemEXVQB9v7eNcPn+E/708nqe/f1Mzulm5ufyZtMzz78jGu/urjI37OcCyRHNRh/Ns9W7jqy49l3K7fs+FQztzOUPzquf08vP2Iv/zgtiN0xRL8YfNhf91fdjnnw+M70xN63bW+iYPtfTy4Nf23a7cd4YdPpDuKieZDv3iet33vKf84/MXtxLce6vTPg41N7YAT+MQSSRLJlN957zjiHOe9bb3+Nekd+82H0sd+o3uOPL/fEfqD7X2+DbPOFf/17nvJlPHPG0/wvUAC4OVAhN9YVUjEttIRfmeM0+rLADjaE/dLMRfMCgi+26HOrSwEnBLr3niC4kgoY9Cnn7QNW/QHXAUvIB2YyhG+iNjAt4BrgOXAO0RkedZm1wCL3Z+bgO+Md78nIjtpm0h6VTrOF+p5aV1Zlk7GXDp+gtapww9ZQjSUzqLHEikigQg/lki5Eb5j6fTEnRP4SGeM2tIoF59azdbmTj/Rc/B4H7FEivNPmQU4wurdhpcVhv3KobbumC+AD2w6nOFt7jnaQ9PxPk6tLaGjb4Cj3XH/LuDMeU5H0tLVz9GuGCKwtK7Uzxe0dsWoLokyp6LQj3D3H+ulobKQU2qK/QjrsZ2txBIpvv3oS2xrzoycn97Txo0/fpYP3/68f2Hf8dwBAH73wkF/3Q+e2MP//mlHRiWEx+fv38Znfr+Fbz68G4CdR7o52h0jGrJ48YBzoXoX+vxZRX6Ev9m9cMsKQqx3L+xHd7RgjGMVBCM9cDqSTU0dGU8i+tlT+0gZeGjrEf+c+KMrnn/cctiPvG59fA/bD3fxDbeNw/Gvd2/mjd/6K0++5IjcsZ44d65v4lBHP3/c4nx+W3eM//ebDfzj7S9kJNCHYsOBdm65exOfvHuT364/bGoG4IX9x/3EoRdUPLm7jUQyRV88yRPuuvs2Otsnkik+8/stfO6+rbywP/09tXT2j8kKajreyx83N/vLm5o6WLu9hS2HOv2o/PGdrYg4s9K+uL+dVMqw+WAnNaVREinDriPd7G3rIZ5IsaimmAPH+uiOJfyIv7Gq0D//Nh/sRMRJjnqdxvP72/3xN57QP7f3GJbAvrZeWrtivNTaTXcsQWk0xJaDHRjj5KsAVjdWZHj486qKqCuP0tzRR188SVcswdLZpUBWhF/jCH577wCd/QlEYHZZAeCUZnbHEhRHbYrCNr1xx+bpH0hRELIocCN8T3MiIYuwLVP+mbbnAruNMXuMMXHgDuD6rG2uB35qHJ4GKkSkfgL2nZNBUyuYzCqdnkCEb1tCccR2a2KHmkvHEXdvOLSXyI2GLL8TcCydBIWupQNOjuBIZz+1ZQVccOosjHFEEmB3q3MhnDmvkohtORG+5+EXhP3KoaOu4F+1vI768gI+d99W37N+zJ2W9X0XLQRgV0tXQPArAMfHb+2OUVUUYXZ5gf+ZLV0xakqj1JcXcLQ7TiyR5MCxXhqrilg6u8y/0B7d0cKs4ggVRWFuvmujfzJ29A7wT796kYhtsflgJ0/taaM3nuDeDYeoLomy/1gvz+9vZyCZ4o7nDlAcsblzfRMPbEoLw29fcKojSqIhfvfiQeKJlC9ON5zTyIFjfbR1x9hyqIPiiM3VK2ezu6WLeCLF5oOdLJhVxHmLZvkR3NrtLVSXRKkqjnDr484dRiyR5GsP7eI1X3yU13/zCd7y3Sc53hOnfyDJHc/tZ15VEX0DSR7e3sLR7hjP7T3G6XPL6egb4K+u3fPIjhZKC0Lc/ux+9rf1Yozhf/64nQv+ey3v+sEzfP7+rf6Q+z9vOcxdzzchAt9Y63QQv3ruAPFEiqriCD9/eh8AP3t6H7FEir6BJF/80w7AEZrXf+MJXvuVx/nYHS9w1/omjHEKAv71t5sI2xZHOmOs3XaEzv4B/rLrKGvmV5Iy8Piuo2w73MnR7jiXL6ulK5ZgQ1M7T+05SiyRYuXcMh7f2Up7b5y121s42N5H2BY+d99WjDHsbuniii8/xqVffJTfv+h01u29cf685TCPbG9hy6EOth7q5M9bDvPrdQf8KPovu1p53def4AM/f94vHPj2o7spjYYIWcI9Gw6RSKb46+6jXLNyNiLOHdmeoz10xxL8zdkNgGPVeZ3Dm1bPBRwff3tzF7YlvGHVHF5u66EnlmDzwQ4WVhdz5vxK/07q+X3Hufy0WgrDNuv3Hae5o4+m431cc7ojM+v3HfftnDeeOZe2njhHOmPsPNJFY1Uhy+eU+XeqTcf7aKwsor68kOaOft+WnV1eQGVRmLbuuD+PjmfztPfF6ewboDQaoqwg7F//PbEkxdEQRRGbvoGkX8Jd4Eb4sUTSf+BSJGQRsqwpX4c/FzgQWG5y1412mwnDf4h51myZ2UnbnliS4oiNiFDglkjlnB45mSJsBwQ/mQxE+J6l40T4xW6ED05dbktnjLrSKGc0VFAcsf1o3UvYLq4tobokwtGueNrSKQz5o3+fefkYrV0xLltWyy3XLGPTwQ5uf86xGx7b2cqimmIuXVrrf+bB431UFoX9E/FIZ78fzde4n9naFae1y7nz8KKRls4Y+13BXza7lKbjfXT0OqJy6bJa/u31K9jY1MF/3LeVv+xq5Za7N9LaFeNn73sV1SURvv/4Hu7f2Ex3LMH/99bTKQhb/O6Fgzy49QitXTG+/PbVnNFQzifv3sT9G5v5/uN7+OTdmzh3YRVfeftqjvXEeXj7EZ7cfZQFs4q41r1QNzZ1sOVQJ6fVl7FyTjkDScOuli42Hexg5dxy1iyoZF9bL80dfTy+o5UrTqvlPefP56FtLbyw/zjv/fFzfOWhnTRUFnLz1cs43hPnM/ds4fcvHqS9d4AvvPl0akuj3LvhEA9tPULKwH9cv4LSaIj7NzZz5/omkinDD96zhpAtfOWhnXzloV1859GXWFBdTGf/ALc9uY+rv/o4tz+7n3/97SaW15dx89XLeGpPG8/saePnT+/j/EWzuOnVi3j25WNsbGrnp0/t4/Jltbz3wgX8ev0B/rCpmRtufZr9x3qZW1nI03uO8YnfbOD9t63j6w/vZsuhTr74N6uYW1HIz57ex8PbWognU/zL1cuoLArz6PYWP/dx8zXLsAQe23mUtdtaKI7YfPYNK0ikDH/acpifPrWXOeUFfPYNK3l+fzs/eXIv7/3Jc0RCFo1VRXz0jhe57EuPcdbnHuSmn63nvT95jtd9/Qmu/fpfuOln6/mXOzdywRce5k3f/is3/uhZ6ssLWN1Ywad/t5lHdrTwxy2HufGCBVy0uJp7NxxiQ1M7nf0Jrj29nqV1pazfd5xNB9sBuO6MORRFbLYe6mT74U5ClvC6M5xjv+NwF9sPd7GoupjVjZUY43j7Ww51snJOOasbytnV0s2+th4OtvdxzoIqVjdWsG7fMT/Kf+8FC4iELNbvO8aLTe2UFoS4zv38LYc62HWkmyW1pSycVczx3gEOd/RztDtGQ2Uh9eUFHO7o9+/Aakuj7viYmH+nvqA609IpLQj77kBXf8L38IvciRe9jiJYlulH+LYT4U9mHf5EPNNWcqzLbvFItnE2FLkJx/Zh3rx5Y2qQlT3wKmWwciRtu2MJP2ka9Uqk3C+/MOxE/U7S1mQKfiJYpeNaOm7StjBiU+bOk9HZP8Dhzn7OXVhF2LY4d2EVD29v4VMDSV5q6aG6JEJFUYSa0qgb4TuCXxIN+fu6b4MTEV9wSjWNVYXc/ux+Pv27zbR1x3l6TxvvfNV86sqilEZDjuC39zGnopDaMkfcj3Q5J3BNaZTqUlfw3Qj/jIZyP+rf3dLN8d4B5lUVsaSuBIBfrztAR98Alyyp4boz6l2x2MdPn3Ki1P/32qWcu7CK95y/gC8/uJM9R3tYVO10QFcun819Gw+x40gXcysKueK0OhbXlvC6rz/Bh375PACLqov51t+eRWVRmLqyKLc/e4D1+47zhtVzWDm3HEscb3ZbcydvPbuB5XMcD/XJ3U753XvOn8/Z86sA+N5je+iKJbh0WS3nLKjiu4+95HrI8OW3reLNZzmRZCKZ4ksP7uQvu1pZNruU80+ZxXVnzOHnz+yjrTtOY1UhqxsruHJFHX/acpiKogjnLariVYtmceMFC/jeY85YgLevaeQLbzkdEWHv0R4+9qsX+eTdmwjbws/f/yrmVxXz/cf38JHbX6ClK8anX3ca5y6s4st/3skHfraeYz1xbnr1IpbPKeO3Lxzig794nrKCEL/8+/NYObccYww/eXIv//3AdtZub+E1S2t4/Rn1HDjWy//+aQfHewaoK4uyZn4llyyp4bGdrRzu7GdJXQlL6kpZ1VjB4ztbOdLZz0WLqzlrXiXzqoq49fE9vNTaw/977VLefk4jP396H5+9dyvRkMWv/uF8Tp9bzo//+jKP7Gjh9avmcPHiaiwRWrv6SRloqCykIGzzh02H+cPmZt50ZgOfe+MK2rrjXPu1v/C+nzxHNGTx3gsX8NjOVj7+6w189aFdiMCFp1TzzJ5j3P18EwuriykM2yypK2HZ7FK2NndSGg1xSk0JC6uLKYmG2HHY6QTOnFfJafWl7rE/ysH2Pm68YD6LqktIpgw/c8/HM+dV0tk3wDcf2c2jO1opitisbqzgjLnlrN93nP6BFKsbK/zzaMOBdvYc7eay02r95KuXA2msKqIrluBwR79f7VZbWsCs4ghHu+Mc6x1ABOrKCoiELKdKpy9BWWHYH6/T1Z+gJ56gJBLytcezgvykbUBzoiGLsD31I/wmoDGw3ABkT7w+km0AMMbcaoxZY4xZU1NTM6YGZXv4KWMIBSP8gbSl4x2cgkBvK+LMx+P0tmlxD9vO58ZzePj97lTDTtLW+cyWLscTrXPF9+8uXMjB9j6+tnYXu1u7WVTjCGtNadSt0nE6oJDtPH+3IGxxsL2PuRWFNFYVIiL8+O/O5drT6/nygzuJJVJcsrQGEeHUuhJ2HenmkLt9USREaUGIls6YG+FH/LuGls5+jvU4EX69K/heyeg819IB+OETL2MJXLy4GhHhG+84kydvuYw7bjqPW999Nh+85BQA3n3efArDNvvaenn7OY2ICG86cw7Hewd49uVjvOPcRmxLWFRTwr0fuYjf/t8LWP/pK1j7iUuoKY0Ssi3efFYDj+1spTuW4MJTqimOhlhSV8o9Gw7RE0+yYk45C2YVUxC2+PU652bx9LnlrJxbRiRk8Ytn9hGxLS46tZqq4gjvetV8wrbFD25c44s9wAdfcwqrGspp7x3g7y5YgIjw+lX1xBMp1u07ztUrZiMiXHdGPZ39CfYf6+WGc5zA44OXnEJ1SZTXnVHPf73ZEXtworw7P3A+n37daXz5batZNruMwojN+y9eREtXjPryAq5cXscs928PdfSzqqGccxdWUVoQ5t/fsJyGykJ++r5XsXJuOQAiwnsvXMjvPnQhbzmrgc+/ydnf289pJGwLW5s7uWZlPZYlvGZpLW09cZ58qY2LFzvXzMWLa3jxQDvNHf1cvqzO/z9fau0hYlvccI5zTP79DSuYVRzhazesZnVjBbYlvP/iRfzi/efx8SuXcM6CKs6eX8nVK+u59vR6zmioYEldKR+9YjF//Nir+dLbVlEUCdFYVcR/vmklKQM3nDOPWSVRrloxm2jI4i+7jnJGQwWVxRHWLKikJ57k3g2HWDm3jJBtsXxOGdsOdbKtuZOls0sREZbUlfDc3uM0He9j2exS5lYUUlYQ4jfrnRLLlXPLOaPR+a5+te4AEdti5dwyzl5QRcrAvRsOcea8CkK2xdkLKtl0sIMdR7pY1VBBaUGYBbOKuH9TMwNJw5K6Ej9S95LLDZWF1JcVEE+m2OHam7VlUapLnHLp4z1xygvD2JZQURh2PfwBygpClEYzLZ2iqE2hqxPeQK5C39JJV+mEbUfwp/rkac8Bi0VkoYhEgBuAe7K2uQd4j1utcx7QYYxpzv6giSLbw/eStl5SxKvO6XZvt8CL8B1LJ2JbiAhhO31AwrYQtQdX6WRbOkWRtIfn2Ta1rm1yyZIa3ramge899hKbD3Zwaq0j+NUlUY66EX5ZQfqmy0vcXnDKLF9cCiM233zHmX50/aqFToR7ak2J4+Ef7/OrBGpLoxzpTEf4FYVhQpaw43AXKeN0NHWe4LvJ4MbKIuaUF1BaEOJwZz9nzqukosjJJ4gIcyoKOW/RLK5aMdsf4FZZHOHt5zQSCVm+uF68uIaq4gghS3jbOem+/tTaEs6cV8mskqj/PwG+lwv4iezVjRXsc5Osy+eUYbtVRV4lx4q55URDNmfMdaye806Z5R/Pf732NJ791BW8xrW7PEK2xTf/9iw+ctmpvPHMuf5+Gtzv7OqVswG46NQaSgtClBWE/HUVRRGeuPlSvvmOM/1zLPi57794Ea9fNcdf9+7z59NQWcjfX7yIkDvl9Y0XLMAS+OBrTvX//+vOmMMTN1/G6sYKslk+p4wvvc2xcsA5Vzy76xq3Xa9eUuPXiF+8uNpZ5/4GeM2yGn8/zu96v1Dh3IVVrPv0FVy9cvwptetXz+WuD57PJ69dBjh3qlecVpfRnrPnO8UEx3sHOH2u8/+umFNOVyzBoY5+lrmR/LL6Mj9Bf1q90wmcVl/mlw6vmFNObWkBc8oL6OpPsGJuGdGQzZnzKhBxRsOvce/+zp5XyUDSkEwZVjWm9/mSW4a5uLaUeVVFWIKfQ2qsLKLe/c5fbOpwRtAXRZhVEqGtx/Hwq9zroqIo7JZlOqPkvYCv0x1MWRIN+cHmMXf0vFPhZ2fU4UdCFiE3yJwsxi34xpgE8GHgT8A24NfGmC0i8gER+YC72QPAHmA38H3g/453vyci29JJGeOvCw6AyLB03CdXeQlab53n4WcnbWOJJBE7nbTtjTu+flHE9pO2nuDXuYIP8KnXLae2tIBYIsWpgQi/rTtGe2/ct4MgXS7qCaCHiPChS0/l1/9wvn+HsbiuhKPdcXriSV8c6soK2NPaQ/9AiprSKJYlzCqJ+BdSTWkBpdEQxRHbr3aYV1XkXFxulH/JkpHdZX3y2mX8+WOvpsa1jcK2xb+8dikfv2oJtaUFw/w1LKop4bxFjgfrjYvwLs6wLSypc4TAux2fP6uIcve7Otstbb18WVrcLUv8Y5tNY1URn7hqqf/diQjvPm8+p9WXcWaj81mRkMVnrlvOZ69f4W8HUBC2MzqqE1ESDfHEzZfxf9ykOjidy/pPX+l3ImPhE1cu5WNXLGbNAkfQqoojrGqoIGJbvGphurMsjYZY1VDuf//LZpfypb9Zxc3XLMv4vJH+PyPh7PlV/jUB8Fa3I7/cFf65FYV+3uiMBidCX+6WOwL+ebfMrYgB/DtO79jPq0ofe+8c8Y5bWUGYZe7257jfj9fJONs7+1wx19nGEicIiYQsGiqLONYTJxKyqC5J3/1uamqnusS9foqjtPc6VW7ejJflhWHa++J09ScoKwj7QUdLVwxjcD18N8LvDkT4nuYEkrYR25rUssyJ8PAxxjyAI+rBdd8NvDbAhyZiXyPBT9p6EX7KEHLtmOBTr3piCerci8GL8L0BVYDvp8UTKfd2y/kM3+YJp5O27W4ypijg4XuR6OyA4JcXhvnvt5zO39+2jtVuJU1NaZSUcWqOPbGDdLlotuDnYnFt+gIJCv4zbuTu2TnVJVF/kFZNqRNl15U7HUNZQYhy9yReOruUZ/ce4zVLRyb40ZDt3xZ73HDu6HIw33v3moxRs6saKvz/zetsPXHwrA+Aq5bX8dvnD3LVirpR7S/IP1xyCv/gWlQef7OmcYitx0dl4BiPhXmzivjYFUsy1v3zVUt5ua2HQtcrDtkWX3rbKv8cAkfY3xK4k3oluHRZLU998jLqywv9Npy9oJL7NzZzuiv4S2eXYrklm16Ev9Tt4EsLQsxxhTd97NMdxBkNFfxh82HOml/hrzt3QSW7W7r862tWSZSF1cXEEym/81sxx9n3vKoiv0NfWF3slyZblvj5LedupMj9LOfYvdTaw2q38ygvjHCwvc+N8J38WzRk+eXOxdEQReEcHn7Yyh3hT+LAqwkR/KlG9tQKqVQ6wi+K2IGyzKTfGxcEI3z39jsSsvyRtmHbImRbWJKeLTNiO7W0EDiQkRAlkRAisPuIF+GnLzqAS5fWsunfX+tfnJ4Y72vr8QdyAKyYU0Z7b9y/WE6EZw9BeuBHbVnUv8vxIu/qkqg/6KTWXVfvCv4898ErAG86ay6JVIqVc9LCOtmUB+5uAJbUlVASDfmRIKSjvGC7zp5fxbOfuuKVaeQU5aLF1VwUsHEArlox9ruIiST7/H3r2Q3EBlJ+JVlB2OaUmhJaumJ+cORF6afNLvPvQLyBTysCx/61K+p4fGcrF52a/t8/esUSXr9qTsYd3ieuWpJhlaxwz6PFdelAaWF1MY/tbKWh0rkOqoujftVMrX/9pMulKwOWzqaD7XTFEr6dW1oQ8gW/JGoHLJ204BeE7IyZdyOehz+Jk6flpeB7UytkPvHKE/wQvQEP3/PbCsI27b1xx8PPiPBNhs0TCVn+fPhOhO+ItlduVRyxfTuhqz9BJGQNEjLAF3tIi/FA0vh2EMAnrlrKx69cMuhvczG3opDCsFPr60X4QSslGOFn73d2mbO9Ny8IwFnzKjlrXvpW+GQQsi3uuOk8P9ICOGNuOR++9FTectakVfUqk8ylS2v9UmKPt57dQFtP3Bf38qIwy+vLMu5ul9eXccs1y3hLIAm/qKaE2286L+OzqoojVBVXZazz8hce1SVRrjitjtcGOsUFbsDT6AZMliXUlRXQdLzPr3oL3jF5d2rlhWF/cjVPT0oLwv4cVUXuSFtIJ20LwhZR1x3wRh5H3KAyPsXLMqccuZK2XoKxobKQFw+0uxMbJfzRt+mJjJIZgu8lbb0eOmxbgQg/PbWC13N75VdlBWG6+hPUlUWH9UhrAieRFyF4jNRftSzhlNpidrd0+7ZQ8M7CE3fvd1lByO+sZpc76xori5hqBK0bcDqBf37t0pPUGmWyyLbTAO7/x4syli1L+ECO7cbKD25ck7G80M2pNQSug/pyR/Br3OBpVsCO8yP8wjDeTB6enVsSDfnTn5dEQ77OHPMF3/ZzHV39A4QswbKEyDQYaTvlyFWW6dk8ly6rpbmjn+f3t5NMmbSlE7YHJW0jftLWZCRygxG+5Vb/BC0dSB/4uhEkLL36+ODfjYVzFlRx+txyv5PwksW2Jf7J6d2S1gT2Odu95W6smnqCr8xcRGRCE8rDsby+zK/d9/CuDc/SCUb4VcVu0rYofc16AVtJYLI0x8PPsnQi6WCxsy/h60vImtyyzPyM8GXopO1ly2oRgXtedIaBB6t0gmWZAJFAHb6XsI3YljP/RWC7goDgpyN853ODFTpDURyxfTsmWJY5Wj79uuUZk4Z5nU1VccTvBD2hD9o9XlJs/iwVfGXmUlMaZctnX5vRyXjXRm3gztjz9b1y5aBl61mypYHruCRqpy0ddyLDQnc+fHAifF/wbfHHCU0GMyPCDyRtq0uirG6s8CeSKo6cOMKPJ9JTK3jrumPOiFjPgysI2/7jznzBd0+C2qyEbS5EJG21jCPCty3x672D+w5aRp6HH4zwL15cw+fftJLzFw1fDaQo+Uz2HYWXP/KuFxHxx8d41qkn/BCI8AOCXxQJufPkiD9fVkE4HeF39ScCQebkJm3zUvAHPcQ8kLQFuOK0Oj95Upwd4SdSRFxvzSvLjCUyE7nBJAs4wp8uy8zs4UcS4UPaasmV4B0rBWGbsoJQhmXkCX5tYF0kZPHOV83P6CwURXGmNDlnQWVGNY9XmlmZI8L3XpcGKoQ8jfGCwYhtYVuStnSyIvyBxNQeaTvlGPQQ80DSFhxbxyNYpdM/kPTLLcG1b9wIP1iq6T2RPurekhWEbLzy8WDSFjJr8E9EOpk6cYIPcMnSWs5blK5YmF1WgCXOQxoURTkxS2eX8psPXJBR4un5+JWud19RONjDLw1cx95zNIp8NyHtDIAzjXJGZaCWZY6OnNMjB27VvLk5Drb3ZUT4KeOMmPUHXgVG2gYtHW/O8KideeBgbJYOBAS/cGIPyTfecWbGcnlRmDs/eEHGSEZFUUZOdXEEkXQ0XxFI2npWjj9HV9jy75w9bfD8/KCl4+nFdJg8bcrh+fVeHX4iZbDttOCLCJef5kT53rNrcyVQIna6IifYA3f5Eb4n+Omv0evFR5O0hbTVMtERfi7Omlfpt1NRlNGxfE4ZS2pLfSEvDVTmeMGmd0cQvDPwhN6bSM1zCLpiwQhftEpntKSTts5yKpUZ4QO881Xzae7o92tuPfHuzEqgDCQMA+70yOD0yp6lE8mK8CMhy9/3RYuref2qORmDmU7EOQuqOK2+LCOZqijK1OP9Fy/i/Rcv8pdtSygrCGWIu2cVBwOrYIEIpCN8SGtJaJIj/LwUfM+uD1o6waQtON7c99+THnjhTZGQTKVr7sMhcSL8wOjbiG35ZVNeJ+ENoCgKjJ5dNrtskJ1yIi48tZo/fPTiEW+vKMrUobwo7As6pAW/OEeE7wl+0AoO6stUfwDKlEPEeRB3KmVIpQzGkJG0zUU0YMukv3zbn2gt4tXhZ/TK3oFz1hWrTaIoM5KKwohv1QCURD2bZ3B+rzBXhO8PvJrc6ZHzVqFsEZLG+FF+tqWTTXBK12CE7z2D0rN0woHSxewIPzg/jqIoM4ePX7WEsJXWBs/eyRXhZydtIaAvIR1pOyYsy/HuvdLMYNI2FxkRvufX2zmi/hy+mxfhF6ngK8qMJHsyuFyWTnFWWWY0h6UTthwb2RgzKdNK5GWVDrgRflDwh/nyCnJF+PbgHjgo+NGseloVfEVRICD4kcGWju/hB7UkkLSF9BiiiSZvBd+yhEQqYOkM4+EHSyuDdfgewcqd7HXpCD9vb5gURRkFxSeydMLph9R4upQdZCZU8EeHbQkpY0gmRyb4uTz8yDCWTnCkLaiHryiKQ9i2uHJ5nf/MaRictIV0cBmswwf8xx5ONHkbkvqWzhgi/Ig9OMIPnzDCdy2dsAq+oigOwbJvCE6tkCn4vfFkWnO8CH+SErd5G+FbXoSfGmGEnyOBMlzSNnukbfEQD81WFEXJnloB0uLvBZehwHOzJ4O8FfzRJ20Hi3s4lP4b71YrnCPC17JMRVGGIztpCwFLJyvCV8EfJbYlJFPpbPfwA6+CB8GbxjQQ9eeq0vHuBLykrVo6iqIMgfc0vMJcWpPl4U/WaNtxCb6IVInIgyKyy/096KnXItIoIo+IyDYR2SIiHx3PPkeKnWXpZE+tkE3OCD9Qu59t6URsy6+T9T18tXQURRmCYt/SyTV4M9vDn5oR/i3AWmPMYmCtu5xNAviEMeY04DzgQyKyfJz7HRYnwh950jajROqESVtnm+AoOa3DVxRlOLwnZFUGnpBVkBXhh9zRupNVpTNewb8euM19fRvwxuwNjDHNxpjn3dddwDZg7jj3OyyWOJOmpUaYtIV0lD+SpG3Q2vH+TgVfUZShWFRTwu8/dCGvXlzjr/Mi/LRl7OjUVK3SqTPGNIMj7EDtiTYWkQXAmcAzJ9jmJhFZJyLrWltbx9wwb/K0xAiTtpD28XMNvEpH+IPnwfCeaRnsuRVFUbJZ1ViRkU/MtnK8CH+ykrbDms4i8hAwO8dbnxrNjkSkBLgL+JgxpnOo7YwxtwK3AqxZs2bM3Zwl7kjbESZtYXCEn6vmPleEv3R2Kb+66TzOWZAeZKEoijIc2Unb0CQnbYcVfGPMFUO9JyJHRKTeGNMsIvVAyxDbhXHE/hfGmLvH3NpR4EX4I03aQjrCzy6RgsGJ3ODIXIBXLZo1/kYrijKj8C2drCBzqpZl3gPc6L6+Efh99gbilLL8ENhmjPnyOPc3Ymwrc3rkkUT42cOcIznq8HNF+IqiKGNhcITvzaUzNQX/C8CVIrILuNJdRkTmiMgD7jYXAu8GLhORF92fa8e532Gx3IFXqbFE+KFMvx7Sfn4067eiKMpYiWYViEx2Hf64CseNMW3A5TnWHwKudV8/AUz8xM7D4NXhjyZpm+3hB0faZts8GuErijJesi0dHWk7RuysCH9ESdssD/9ESVuN8BVFGS9eHX72E/WmalnmlMVJ2qbnlR6RpZM9r0XgOZNW1qAsjfAVRRkv2RG+p1NTdeDVlGUsSduCsE3YHizuuap1sqt0FEVRRkt20tb7rRH+KLGsMSRtQ1aGjRPOSqSARviKokwc2a6Cp1Pq4Y8SW8hI2lojSNpWl0apKkmPlrUtwbaESI6nYamHryjKeLl0WS3vv2ghcyoKgbSNfNJG2k5XbEtIJEc3l86HLj2Vd503P2NdxLb8CdNA6/AVRZk45lYU8unr0nNJhv2pFaZgWeZUxpLMssyRWDol0RAlWVMch23JEHfP5lEPX1GUicabWmGqTo88ZfGmR06NImmbi0jIzkjahiyhobKQhdVFE9JORVEUj8n28PM3wveqdEYR4eciYkuG4IsIT9x82YS0UVEUJYiIELaFgZRW6YwKWzKnRx5J0jYXkZClfr2iKK8YYdtiIKGWzqgIuRH+aJK2uQjbmaWaiqIok0nIEj9QnWjyVsmsMYy0zUXYtjLm1FEURZlMIiFLPfzR4s+lM86k7dnzKykrzNuvSVGUKUbIUsEfNdlJ25HMlpmLz71x5UQ2S1EU5YSEQ6JTK4wW2yLjiVe2rbaMoihTn7Bl6eRpo8XOeqbtWCN8RVGUV5KwbWmEP1osK7Msc6xVOoqiKK8kIVt08rTRYsvElGUqiqK8koRtSwdejRZvagVvPny1dBRFmQ6EbdGBV6PFcp9pm0wZRMZelqkoivJKErIsEikV/FER8iL8lNHoXlGUaUM4ZBGfiklbEakSkQdFZJf7u/IE29oi8oKI3DeefY4UZ3pkHMHX6F5RlGlC2JIpOz3yLcBaY8xiYK27PBQfBbaNc38jxvanGVXBVxRl+jCVyzKvB25zX98GvDHXRiLSALwO+ME49zdiPJGPJ5Nq6SiKMm2YymWZdcaYZgD3d+0Q230V+Bdg2P9CRG4SkXUisq61tXXMDfOmQ44nUjrKVlGUaUPEthiYpKTtsHPpiMhDwOwcb31qJDsQkeuAFmPMehF5zXDbG2NuBW4FWLNmzZjva7wZjeOJlEb4iqJMG0K2MJA4Sc+0NcZcMdR7InJEROqNMc0iUg+05NjsQuANInItUACUicjPjTHvGnOrR4AX4auHryjKdKIwbE+aZo3X0rkHuNF9fSPw++wNjDGfNMY0GGMWADcAD0+22EPQw0+p4CuKMm347PUr+estk/MY1fEK/heAK0VkF3Clu4yIzBGRB8bbuPHgC34iNebHGyqKouQT45oP3xjTBlyeY/0h4Noc6x8FHh3PPkeKHXj6e0iTtoqiKPk70tYOVulohK8oipK/gm8FInz18BVFUfJY8P0IX6t0FEVRgHwWfD9pm9SkraIoCnks+FagLFOTtoqiKHks+MGkrUb4iqIo+Sz47n+mI20VRVEc8lbw/akVElqloyiKAnks+J7Ix5Jah68oigIzQPB1pK2iKIpD3gu+MWjSVlEUhXwW/IDIq4evKIqSx4JvWSr4iqIoQfJW8IMir0lbRVGUPBb8oG+vz7RVFEXJY8HXCF9RFCWT/BV8TdoqiqJkkLeCbwX+MxV8RVGUPBb8UEDx1dJRFEXJY8G3gxG+Jm0VRVHyV/AzqnQ0wlcURclfwbd14JWiKEoG4xJ8EakSkQdFZJf7u3KI7SpE5E4R2S4i20Tk/PHsdyRYWqWjKIqSwXgj/FuAtcaYxcBadzkXXwP+aIxZBqwCto1zv8OiEb6iKEom4xX864Hb3Ne3AW/M3kBEyoBXAz8EMMbEjTHt49zvsKjgK4qiZDJewa8zxjQDuL9rc2yzCGgFfiwiL4jID0SkeKgPFJGbRGSdiKxrbW0dc8M0aasoipLJsIIvIg+JyOYcP9ePcB8h4CzgO8aYM4EehrZ+MMbcaoxZY4xZU1NTM8JdDCYY1Vsa4SuKohAabgNjzBVDvSciR0Sk3hjTLCL1QEuOzZqAJmPMM+7ynZxA8CeKYFQfUsFXFEUZt6VzD3Cj+/pG4PfZGxhjDgMHRGSpu+pyYOs49zsswcFW6uEriqKMX/C/AFwpIruAK91lRGSOiDwQ2O4jwC9EZCOwGvivce53WIIRvj7iUFEUZQSWzokwxrThROzZ6w8B1waWXwTWjGdfoyU4eZpaOoqiKPk80lY0aasoihIkfwXf0qStoihKkLwVfBHBC/I1wlcURcljwYe0raMDrxRFUfJc8L3IXi0dRVGUPBd8L7JXS0dRFCXfBV8jfEVRFJ8ZIfga4SuKoswQwdekraIoSp4Lvjelgs6loyiKkueCb1vebxV8RVGU/BZ80aStoiiKR14LvqVJW0VRFJ+8FnxN2iqKoqTJb8HXpK2iKIpPXgu+Z+Wo4CuKouS54IdU8BVFUXzyWvC1Dl9RFCVNXgu+Jm0VRVHS5LXgq4evKIqSJq8F33Z1XgVfURRlnIIvIlUi8qCI7HJ/Vw6x3T+JyBYR2Swit4tIwXj2O1J8SyevuzVFUZSRMV4pvAVYa4xZDKx1lzMQkbnAPwJrjDErARu4YZz7HRHppK0qvqIoyniV8HrgNvf1bcAbh9guBBSKSAgoAg6Nc78jQpO2iqIoacYr+HXGmGYA93dt9gbGmIPAF4H9QDPQYYz581AfKCI3icg6EVnX2to6rsb5gm+r4CuKogwr+CLykOu9Z/9cP5IduL7+9cBCYA5QLCLvGmp7Y8ytxpg1xpg1NTU1I/0/cuJbOhrhK4qiEBpuA2PMFUO9JyJHRKTeGNMsIvVAS47NrgBeNsa0un9zN3AB8PMxtnnEhPzZMid7T4qiKFOf8UrhPcCN7usbgd/n2GY/cJ6IFImIAJcD28a53xFh+Q8xV8VXFEUZrxJ+AbhSRHYBV7rLiMgcEXkAwBjzDHAn8Dywyd3nrePc74iw1dJRFEXxGdbSORHGmDaciD17/SHg2sDyvwH/Np59jQVN2iqKoqTJa6/D0rJMRVEUn7wWfC+wVwtfURQlzwVfk7aKoihp8loJPStH505TFEXJd8G3BNsSRD18RVGUGSD4KvaKoijADBB8te8VRVEc8loObUs0YasoiuIyroFXU503n9nAourik90MRVGUKUFeC/7pDeWc3lB+spuhKIoyJVC/Q1EUZYaggq8oijJDUMFXFEWZIajgK4qizBBU8BVFUWYIKviKoigzBBV8RVGUGYIKvqIoygxBjDEnuw1DIiKtwL4x/nk1cHQCm/NKo+0/uWj7Tx7Tue1w8ts/3xhTk+uNKS3440FE1hlj1pzsdowVbf/JRdt/8pjObYep3X61dBRFUWYIKviKoigzhHwW/FtPdgPGibb/5KLtP3lM57bDFG5/3nr4iqIoSib5HOEriqIoAVTwFUVRZgh5J/gicrWI7BCR3SJyy8luz3CISKOIPCIi20Rki4h81F1fJSIPisgu93flyW7riRARW0ReEJH73OVp034RqRCRO0Vku3sczp9m7f8n99zZLCK3i0jBVG6/iPxIRFpEZHNg3ZDtFZFPutfzDhF57clpdZoh2v+/7vmzUUR+KyIVgfemTPvzSvBFxAa+BVwDLAfeISLLT26rhiUBfMIYcxpwHvAht823AGuNMYuBte7yVOajwLbA8nRq/9eAPxpjlgGrcP6PadF+EZkL/COwxhizErCBG5ja7f8JcHXWupztda+FG4AV7t98273OTyY/YXD7HwRWGmPOAHYCn4Sp1/68EnzgXGC3MWaPMSYO3AFcf5LbdEKMMc3GmOfd1104YjMXp923uZvdBrzxpDRwBIhIA/A64AeB1dOi/SJSBrwa+CGAMSZujGlnmrTfJQQUikgIKAIOMYXbb4x5HDiWtXqo9l4P3GGMiRljXgZ241znJ41c7TfG/NkYk3AXnwYa3NdTqv35JvhzgQOB5SZ33bRARBYAZwLPAHXGmGZwOgWg9iQ2bTi+CvwLkAqsmy7tXwS0Aj92LakfiEgx06T9xpiDwBeB/UAz0GGM+TPTpP0BhmrvdLym/w/wB/f1lGp/vgm+5Fg3LepORaQEuAv4mDGm82S3Z6SIyHVAizFm/cluyxgJAWcB3zHGnAn0MLXsjxPiet3XAwuBOUCxiLzr5LZqQplW17SIfArHpv2FtyrHZiet/fkm+E1AY2C5Aef2dkojImEcsf+FMeZud/UREal3368HWk5W+4bhQuANIrIXx0K7TER+zvRpfxPQZIx5xl2+E6cDmC7tvwJ42RjTaowZAO4GLmD6tN9jqPZOm2taRG4ErgPeadIDnKZU+/NN8J8DFovIQhGJ4CRL7jnJbTohIiI4/vE2Y8yXA2/dA9zovr4R+P0r3baRYIz5pDGmwRizAOf7ftgY8y6mT/sPAwdEZKm76nJgK9Ok/ThWznkiUuSeS5fj5IGmS/s9hmrvPcANIhIVkYXAYuDZk9C+EyIiVwM3A28wxvQG3ppa7TfG5NUPcC1Olvwl4FMnuz0jaO9FOLd4G4EX3Z9rgVk41Qq73N9VJ7utI/hfXgPc576eNu0HVgPr3GPwO6BymrX/s8B2YDPwMyA6ldsP3I6TbxjAiYDfd6L2Ap9yr+cdwDVTtP27cbx67xr+7lRsv06toCiKMkPIN0tHURRFGQIVfEVRlBmCCr6iKMoMQQVfURRlhqCCryiKMkNQwVcURZkhqOAriqLMEP5/dYFUMA9zNFkAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ceps)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对复倒频谱求逆\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = np.arange(1,11,1)\n",
    "spectrum2 = np.fft.fft(x)\n",
    "ceps2 = np.fft.ifft(np.log(spectrum2))\n",
    "x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\n",
    "c_x = \\frac{1}{2\\pi}\\int_{-\\pi}^{\\pi}log[X(e^{j\\omega})]e^{j\\omega n}d\\omega\n",
    "$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "cc = np.fft.fft(ceps2)\n",
    "# cc = np.abs(cc)\n",
    "cc2 = np.exp(cc)\n",
    "cc3 = np.fft.ifft(cc2).real"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cc3"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "9ebf9cfd872009544a161647ac82c48f4cc096aba58631b69e515c7576d66293"
  },
  "kernelspec": {
   "display_name": "Python 3.6.13 ('pytorch')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.13"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
